/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package utilitarios;

import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import modelo.ModeloTarefa;

/**
 *
 * @author Bruno
 */
      
public class ControleTarefas {
    
    conectaBanco conectaTarefa = new conectaBanco();  
    
    public void inserirTarefa(ModeloTarefa mod, int id){
        conectaTarefa.conexao();
            PreparedStatement pst;
        try {
            pst = conectaTarefa.conn.prepareStatement("insert into tarefas (nome,data_inicio,descricao,id_usuarios) values (?,?,?,?) ");
            pst.setString(1, mod.getNome());
            pst.setString(2, mod.getData_inicio());
            pst.setString(3, mod.getDescricao());
            pst.setInt(4, id);
            pst.executeUpdate();
            JOptionPane.showMessageDialog(null, "Salvo com sucesso");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro na criação de tarefa"+ex);
        }

    }

    public ArrayList listaTarefas(ArrayList mod, int id){
        mod = new ArrayList();
        
        conectaTarefa.conexao();
        
        conectaTarefa.executaSQL("select * from tarefas where id_usuarios='"+id+"'");
        try {
            conectaTarefa.rs.first();
            do {
                mod.add(new Object[]{conectaTarefa.rs.getString("nome"),conectaTarefa.rs.getString("data_inicio"), conectaTarefa.rs.getString("descricao"), conectaTarefa.rs.getString("status")});
            } while (conectaTarefa.rs.next());
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao listar a tabela:\nERRO"+ex);
        }    
        return mod;
    
    }

    public void alterarTarefa(ModeloTarefa mod) {
        conectaTarefa.conexao();
            PreparedStatement pst;
        try {
            pst = conectaTarefa.conn.prepareStatement("update tarefas set descricao=?,status=? where nome=?");

            pst.setString(1, mod.getDescricao());
            pst.setString(2, mod.getStatus());
            pst.setString(3, mod.getNome());
            pst.executeUpdate();
            JOptionPane.showMessageDialog(null, "Salvo com sucesso");
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro na criação de tarefa"+ex);
        }
    }

    public void excluirTarefa(ModeloTarefa mod) {
        conectaTarefa.conexao();
        
        conectaTarefa.removeSQL("delete from tarefas where nome='"+mod.getNome()+"'");
        JOptionPane.showMessageDialog(null, "Excluido com sucesso");
    }

}
